#pragma once
#include<stdlib.h>
#include <GL/glut.h>

typedef struct
{
	double Xpos;
	double Ypos;
	double Zpos;
	double Xmov;
	double Zmov;
	double Red;
	double Green;
	double Blue;
	double Direction;
	double Acceleration;
	double Deceleration;
	double Scalez;
	bool Visible;
}PARTICLES;

class ParticleCollision
{
public:
	ParticleCollision(GLfloat, GLfloat, GLfloat);
	void animate();
	void setLocation(GLfloat, GLfloat, GLfloat);
	void setTexture(GLuint);
	bool isFinished();
	~ParticleCollision(void);
private:
	void initParticles();
	void drawSquare();
	void drawCube();
	void updateParticles();
	void drawParticles();

	bool animationFinished;

	GLfloat x;
	GLfloat y;
	GLfloat z;

	GLuint currentTexture;

	static const int ParticleCount = 500;
	PARTICLES Particle[ParticleCount];
};

